package worldinruin.core.imp.buildings;

import worldinruin.core.IPlayer;
import worldinruin.core.IResources;
import worldinruin.core.ISoldierBuilding;
import worldinruin.core.ITile;
import worldinruin.core.IType;

public class City implements ISoldierBuilding{

	
	private static final long serialVersionUID = -8993977505452553231L;
	private String name;
	private ITile tile;
	private IType buildingType;
	private IResources price;
	private IPlayer player;
	private String buildingDescription;
	
	/**
	 * Creates a city.
	 */
	public City() {
		name = "City";
		buildingType = BuildingTypes.CITY;
		buildingDescription = "This building is the City. Here you can train soldiers, " +
		"archers, cavalier and build catapults " +
		"If you loose this building, you will loose.";
		
	}
	
	/**
	 * Creates a city on the given tile and for player.
	 * @param tile Tile on gameboard.
	 * @param player Owner of this building.
	 */
	public City(ITile tile, IPlayer player) {
		this(tile);
		this.player = player;
	}


	/**
	 * Creates a city on the given tile.
	 * @param tile Tile position.
	 */
	public City(ITile tile) {
		this();
		this.tile = tile;
	}

	@Override
	public String getName() {
		return name;
	}
	
	@Override
	public ITile getTile() {
		return tile;
	}
	
	@Override
	public IResources getPrice() {
		return price;
	}
	
	@Override
	public IPlayer getPlayer() {
		return player;
	}



	@Override
	public IType getBuildingType() {
		return buildingType;
	}
	
	@Override
	public String getBuildingDescription(){
		return buildingDescription;
	}
}
